﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ImModels.View.MsgJson
{
    /// <summary>
    /// 聊天消息类
    /// </summary>
    public class Msg_Chat
    {
        /// <summary>
        /// 0普通聊天消息 0普通聊天消息 1新创建的群聊 或 被加入新的群聊
        /// </summary>
        public int type { get; set; } = 0;

        /// <summary>
        /// 会话ID 全局唯一的
        /// </summary>
        public long sessionid { get; set; } = 0;

        /// <summary>
        /// 发送方 【stype、content】必须赋值，其他值可以为null,null的时候 底层会自动补充
        /// </summary>
        public Chat_Send send { get; set; }
    }

    public class Chat_Send
    {
        /// <summary>
        /// 默认 null 方便在底层 ?? 赋值
        /// </summary>
        public string name { get; set; } = null;


        /// <summary>
        /// 昵称
        /// </summary>
        public string nick { get; set; } = null;

        /// <summary>
        /// 头像
        /// </summary>
        public string img { get; set; } = null;

        /// <summary>
        /// 用户ID 对应用户的业务BizUserId
        /// </summary>
        public string uid { get; set; } = null;

        /// <summary>
        /// 消息唯一ID 全局唯一
        /// 当有值的时候  不写数据库
        /// </summary>
        public long msgid { get; set; } = 0;

        /// <summary>
        /// 是否为系统提示类 1系统通知的消息  如
        /// 张三邀请你、李四、王五加入群聊 【或者】 张三邀请你加入群聊，并附带了30条聊天记录 【或者】 当前消息包含敏感关键字“转账”,请自行确保资金安全。【或者】 “张三”撤回了一条消息
        /// 默认 为 0 表示用户发的消息 是json格式,前端收到需自行解析 发送的时候定义什么格式，收到就按什么解析
        /// </summary>
        public int stype { get; set; } = 0;

        /// <summary>
        /// 消息内容 当 istip的时候 一般为 文本
        /// 建议 用户消息 json格式为 {type:0--10,msg:'xxxxxxxxxxxxxxxxxxx'}
        /// </summary>
        public string content { get; set; }
    }
}
